package org.soderiakelvy.model.services.testCase;


import java.util.List;

import junit.framework.Assert;
import org.junit.Test;
import org.soderiakelvy.model.domain.FrioCalorVO;
import org.soderiakelvy.model.service.ProductoServicio;
import org.soderiakelvy.model.service.imp.ProductoServicioImp;
import org.soderiakelvy.model.util.ConstantModel;

public class TestFrioCalor {
	@Test
	public void testFrioCalorCrud(){
		
		ProductoServicio ps = new ProductoServicioImp();
		FrioCalorVO fcVO = new FrioCalorVO();
		
		fcVO.setNumeroDeSerie("1a");
		fcVO.setMarca("testMarca");
		fcVO.setModelo("testModelo");
		fcVO.setEstado("testEstado");
	
		
		//----------- TEST  ALTA DE UN FrioCalor ------------------
		Assert.assertEquals(ConstantModel.SUCCESS,ps.insertFrioCalorVO(fcVO));
		System.out.println("TEST ALTA OK");
		//-----------------------------------------------------------------------------
		
		//----------- TEST UPDATE FrioCalor -----------------------------
		fcVO.setMarca("MARCA");
		Assert.assertEquals(ConstantModel.SUCCESS,ps.updateFrioCalorVO(fcVO));
		System.out.println("TEST UPDATE OK");
		//-----------------------------------------------------------------------------
		
		//----------- TEST OBTENER UN FrioCalor POR SU ID ------------------
		Assert.assertNotNull(ps.getFrioCalorByNumSerie( fcVO.getNumeroDeSerie()  ));
				
		System.out.println("TEST OBTENER UN  FrioCalor OK");
		//----------------------------------------------------------------------------

		//----------- TEST  GETALL FrioCalor ------------------------
		List<FrioCalorVO> fc1 = ps.getEquiposFrioCalor();
		Assert.assertEquals(fc1.size(), 3);
		for(FrioCalorVO f : fc1){
			System.out.println(f);
		}
		
		System.out.println("TEST GET ALL OK");
		//-----------------------------------------------------------------------------
		
		//----------- TEST  GETALL FrioCalor DISPONIBLES------------------------
		List<FrioCalorVO> fc11 = ps.getEquiposFrioCalorByTipoAndEstado(ConstantModel.FRIO_CALOR_NO_AGUA_DE_RED,ConstantModel.ESTADO_FRIO_CALOR.FABRICA.getEstado());
		Assert.assertEquals(fc11.size(), 2);
		for(FrioCalorVO f : fc11){
			System.out.println(f);
		}						
		
		System.out.println("TEST GETALL DISPONIBLES OK");
		//-----------------------------------------------------------------------------
		
		
		//----------- TEST ELIMINACION DE UN FrioCalor ------------------------
				Assert.assertEquals(ConstantModel.SUCCESS,ps.deleteFrioCalorVO(fcVO));
				System.out.println("TEST ELIMINAR OK");
		//-----------------------------------------------------------------------------
		
	}
	
	
}
